1. Field of the Invention
The present invention relates to a reproducing apparatus and method, and more particularly, to a reproducing apparatus and method for reproducing still image data, such as a browsable slide show, to which sub audio data is separately added, and a recording medium therefor.
2. Description of the Related Art
Because moving picture data is very large, the picture data needs to be compressed using time-space compression to be encoded for easy transmission. In general, to be recorded on an information storage medium, video data is compressed and encoded under the Motion Picture Expert Groups (MPEG) standards, prescribed by both the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC), whereas audio data is compressed under the MPEG standards or is converted into digital data using linear Pulse Code Modulation (PCM). Time information, necessary for synchronizing the encoded video data and audio data with each other, is incorporated into system multiplexed data. In this case, the MPEG2 standard is also frequently used when encoding data.
The system multiplexing can be performed using packets. For example, as shown in FIG. 1, when multiplexing of video data and audio data, the video data and audio data are divided in bitstream packets of predetermined lengths, additional information such as a header is included in the bitstream packets, and video packets and audio packets are mixed and transmitted using time-sharing techniques. Therefore, a start of a packet, i.e., a header, includes information indicating whether the packet is a video packet or an audio packet.
Meanwhile, time information called time stamp is used in synchronization between audio and video packets according to the MPEG standards.
The time stamp is a type of time management tag that is provided in access units for a decoding process required for data reproduction. That is, the time stamp is information that specifies when audio or video data must be decoded and reproduced in access units. There are two types of time stamps: Presentation Time Stamp (PTS) and Decoding Time Stamp (DTS).
The PTS is time management information of data reproduction selected depending on an MPEG coding method adopted, when a System Time Clock (STC), e.g., a reference synchronization signal, which is generated in a reference decoder of an MPEG system is equivalent to a PTS, related audio or video data is reproduced and output in access units.
The DTS is time management information of data decoding. The MPEG standards require the DTS because a sequence of delivering encoded video bitstreams is unique. For example, since an I frame picture and a P frame picture are delivered as encoded bitstreams before a B frame picture, sequences of decoding and reproducing the I and P frame pictures are different from those of decoding and reproducing the B frame picture. If the PTS and the DTS are not the same, they are sequentially included in the packet data. If they are the same, only the PTS is included in the packet data.
Hereinafter, conventional MPEG encoding and decoding apparatuses will be described with reference to FIGS. 2 through 6.
FIG. 2 illustrates a conventional hierarchical encoding apparatus 200 used in MPEG encoding. Referring to FIG. 2, a video encoder 210 receives and encodes digital video data, and an audio encoder 220 receives and encodes digital audio data.
A first packetizer 230 packetizes the encoded video data output from the video encoder 210 by dividing it in predetermined units and generates Packetized Elementary Streams (PESs). A second packetizer 240 packetizes the encoded audio data output from the audio encoder 220 by dividing it in predetermined units and generates PESs.
Encoding time information such as the PTS and the DTS may be incorporated into the PES. Such encoding time information is used to synchronize the PES with other data. In particular, the DTS indicates when an image is decoded and the PTS indicates when an image is output. In general, only the PTS is included in the audio data. In this case, the DTS is regarded as being the same as the PTS. After the inclusion of the PTS and the DTS, the audio data or video data is packetized in a payload data format.
A program stream multiplexer 250 multiplexes the video PES packetized by the first packetizer 230 into a program stream (PS). A transport stream multiplexer 260 multiplexes the audio PES packetized by the second packetizer 240 into a transport stream (TS). In multiplexing, each PES is divided into predetermined units, identification numbers are allocated to the predetermined units, and the PES is then multiplexed.
The program stream (PS) is made for information storage media and multiplexed in PS packet units. In a DVD Video standard, a representative application for moving image storage media, a PS packet unit of 2048 bytes is used.
The TS is used in an application, such as digital broadcasting, where data loss is unavoidable. The TS is multiplexed into TS packet units. A TS packet unit is fixed to be 188 bytes long. Recently, the use of a TS when recording digital broadcast data on a storage medium has been increased. In this disclosure, the TS is used in multiplexing but the PS also can be used.
As described above, the TS is packetized data, such as video or audio data, which is divided in predetermined units so that the data can be transmitted via a satellite, a cable, or a Local Area Network (LAN). Here, the predetermined unit is 188 bytes long, when using the MPEG-2 transmission stream according to the ISO/IEC 13818-1 standard, and 53 bytes long, when using the Asynchronous Transfer Mode (ATM).
In digital broadcasting, packet data is transmitted at variable time intervals. The transmitted packet data is input to a buffer of a receiving apparatus having a decoder, decoded by the decoder, and broadcasted so that a user can view digital broadcasting. The packet data can be temporarily stored on a recording medium and reproduced at a desired time. In this case, the variable time intervals at which the packet data was transmitted is significant when the packet data is input to a decoder of a reproducing apparatus. This is because a transmitting side transmits the packet data to a receiving side while adjusting time intervals between transmissions of the packet data, in consideration of the state of the buffer of the receiving apparatus having the decoder. If the variable time intervals are not adhered to, the buffer at the receiving apparatus overflows or underflows. Therefore, information regarding arrival times of the respective packet data transmitted to the recording apparatus is inserted in all packets, and the packet data is reproduced based on the information regarding the arrival times.
As described above, arrival time stamps (ATSs), which are the information regarding the arrival times of data, are required for proper data reproduction when packet data transmitted in TS format is recorded on a recording medium and reproduced from the recording medium.
In other words, a recording apparatus receives packet data sent by a transmitting side at particular time intervals and records it on a recording medium. To reproduce the recorded packet data, a counter is required to transmit the packet data to a decoder of a reproducing apparatus at the same time intervals as the particular time intervals used by the transmitting side. The counter operates in response to a system clock at 90 kHz or 27 kHz, and includes a counter value inserted into the packet data, the counter being an ATS obtained at an instant of time a packet is input to the counter. To reproduce the recorded packet data, the time intervals at which the packet data will be transmitted to the buffer of the decoder are determined by the counter value included in the packet data. Such a counter is called an arrival time clock (ATC) counter. That is, an ATS is added into the input packet data based on the counter value generated by the ATC counter, and the packet data is output based on the ATS for data reproduction.
FIG. 3 illustrates a data structure of packet data including ATSs specifying arrival times of the packet data to a receiving side, and a connection between the ATSs and data output time when the packet data is reproduced. Referring to FIG. 3, when packet data A, B, C, and D are received at arrival times 100, 110, 130, and 150, respectively, a recording apparatus makes ATSs indicating the arrival times 100, 110, 130, and 150 and inserts the ATSs into the packet data A, B, C, and D. For data reproduction, the packet data is output and reproduced based on the ATSs. That is, the packet data A is output at the output time 100, the packet data B is output at the output time 110, the packet data C is output at the output time 130, and the packet data D is output at the output time 150.
FIG. 4 illustrates a data structure of packet data 400 including ATSs which is recorded on a recording medium. For convenience, FIG. 4 illustrates the packet data 400 to include information, such as an ATS 410, a decoding time stamp (DTS) 420, a presentation time stamp (PTS) 430, and audio/video (AV) data 440, according to the present invention.
FIG. 5 illustrates a part of a reproducing apparatus 500 that reproduces packet data including ATSs as shown in FIG. 4. The recording apparatus 500 includes a disc driving unit 510, a buffer 520, a source depacketizer 530, and an ATC counter 540.
The disc driving unit 510 reads the packet data including the ATSs and transmits the packet data to the buffer 520.
The buffer 520 receives the packet data including the ATSs and transmits it to the source depacketizer 530.
The ATC counter 540 is used when a data stream stored in a recording medium is transmitted to a decoder (not shown) at intervals of time at which the packet data has first been transmitted from a receiving side. The ATC counter 540 operates in response to a system clock at 90 kHz or 27 kHz, resets an ATS value, which is obtained at an instant of time when a first packet in a TS format is input to the source depacketizer 530, as an initial value, and continues counting ATSs of input packets. When an ATS of an input packet is equivalent to a counting value generated by the ATC counter 540, the ATS is removed from the input packet and the input packet is sent to the decoder.
In other words, the ATC counter 540 sets the ATS value of the first input packet transmitted to the source depacketizer 530 as the initial value and begins counting. Next, the source depacketizer 530 checks ATS values of next packet data to itself, removes an ATS value from packet data whose ATS value is equivalent to the counting value generated by the ATC counter 540, and transmits the packet data to the decoder.
For example, in the case of the packet data of FIG. 3, since a value of the ATS of a first packet data is 100, an initial value of the ATC counter 540 is set as 100 and the ATC counter 540 continues counting. The ATS is removed from the first packet data and the first packet data is transmitted to the decoder. Next, since a value of the ATS of second packet data is 110, the source depacketizer 530 removes the ATS from the second packet data and transmits the second packet data to the decoder, when a counting value of the ATC counter 540 is 110. The process is also applied to the other packet data in a similar manner.
FIG. 6 is a block diagram of a conventional standard decoder 600 used for data synchronization based on encoded time information such as a PTS and a DTS. Referring to FIG. 6, the decoder 600 includes a demultiplexer 610, a video decoder 620, a system time clock (STC) counter 630, an audio decoder 640, and a graphics processor 650.
The demultiplexer 610 demultiplexes multiplexed video packet data, audio packet data, and sub-picture packet data, and sends the demultiplexed video packet data and audio packet data to the video decoder 620 and the audio decoder 640, respectively. The demultiplexed sub-picture may be subtitle data that is displayed to be overlapped with the video packet data. In FIG. 6, a decoder that decodes the sub-picture data is not illustrated.
The STC counter 630 operates at 90 KHz or 27 KHz and controls a value of a packet, which is obtained at an instant of time when the packet is input to a buffer (not shown) of the decoder, to be equivalent to a program clock reference (PCR) value of the packet. The buffer temporarily stores packet data that is output from the demultiplexer 610 but has yet to be input to the video decoder 620. The PCR denotes a program clock reference that is information used to adjust a value of an STC counter, which is a reference time value, to a value set by an MPEG decoding apparatus with video and audio decoders.
A process of decoding packet data including DTSs and PTSs will be described with reference to FIG. 6. First, the demultiplexer 610 demultiplexes an input transport packet into the original video packet data and audio packet data and sends the video packet data and the audio packet data to the video decoder 620 and the audio decoder 640, respectively.
Next, the STC counter 630 is set based on PCR information (not shown) contained in the packet data. The video packet data is input to the video decoder 620 by the set STC counter 630 at a DTS time and decoded by the video decoder 620. Because the audio packet data has only a PTS value, the audio packet data is input to the audio decoder 640 at a PTS time, decoded by the audio decoder 640, and output.
Next, the decoded video packet data output from the video decoder 620 is input to the graphics processor 650 by the STC counter 630 based on the PTS time, processed by the graphics processor 650, and output as video data.
As described above, the audio and video packet data can be synchronized with each other by controlling the decoding and outputting of the audio and video packet data at the PTS time and the DTS time, using a counting value generated by the STC counter 630. That is, the audio and video packet data are decoded and synchronized with each other, in response to a clock generated by the STC counter 630.
In general, there are two applications of still images. First, there is a slide show wherein still images are output at predetermined times. That is, a user reproduces still images using a reverse play where a previous image is reproduced again or a forward play where reproduction of a current image is skipped and a next image is reproduced. When an STC value is updated with a new value, images can be sequentially reproduced again. If audio data is included in a still image, the audio data is reproduced in synchronization with a newly updated still image. Thus, the reproduction of the audio data is discontinued, and the audio data is reproduced again starting from a portion of the audio data corresponding to a new still image.
Second, there is a browsable slide show. In the browsable slide show, reproduction of audio data must not be discontinued even during the reverse play or the forward play. For instance, the slide show is reproduced as if leafing through the files of a album to view included photos. On the other hand, during reproduction of the browsable slide show with background music, seamless reproduction of the background music is required for natural reproduction of still images even if a user selects and reproduces an image preceding or following a current image.
Hereinafter, problems with the forward or reverse play of the browsable slide show will be described with reference to FIG. 7. Still images, such as the browsable slide show, are divided into mainstream data and sub audio data. In general, the mainstream data includes video data, audio data, and sub-picture data, but the video data in a browsable slide show application must be understood as still image data excluding audio data. The sub audio data indicates audio data that is additionally made separately from the mainstream data and is reproduced as background music during reproduction of the still image data.
Referring to FIG. 7, each still image and sub audio data is synchronized using PTS information, that is, encoding time information. As data reproduction proceeds, an STC counter value of a decoder (not shown) is increased and a normal play is performed in accordance with the increased STC counter value. However, when a user wants to perform the reverse or forward play, the STC counter value is readjusted based on a target position of the reverse or forward play (e.g., 3000 and 20000). If the STC counter value is updated, the STC counter is reset to 10000 to restore both the original still image and the original sub audio, thereby causing an interruption in sub audio data, i.e., background music.
As described above, a conventional reproducing apparatus controls both a video decoder and an audio decoder using an STC counter. Therefore, when the conventional reproducing apparatus is used to reproduce still images using an application such as a browsable slide show, it is difficult to prevent an interruption in reproduction of background music when an STC value is readjusted during a reverse or forward play. In this case, the browsable slide show cannot be reproduced smoothly and might cause a harsh grating noise.